﻿/*****************************************************************//**
 * @file   VAOneXMLAdaptorNodes.h
 * @brief  VAOne读写NODES适配器
 * 
 * @author lixiaolong (lixiaolong@diso.cn)
 * @date   2024-11-7
 *********************************************************************/
#ifndef VAONEXMLADAPTORNODES_H
#define VAONEXMLADAPTORNODES_H

#include "FITKVAOneXMLIOAPI.h"
#include "FITKAbstractVAOneXMLAdaptor.h"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"

namespace Acoustics
{
    class FITKAcousticsSEANodeList;
}

namespace IO
{
    /**
     * @brief   VAOne读写NODE适配器
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2024-11-7
     */
    class FITKVAOneXMLIOAPI VAOneXMLAdaptorNodes : public FITKAbstractVAOneXMLAdaptor
    {
        FITKCLASS(IO, VAOneXMLAdaptorNodes);
    public:

        /**
         * @brief   构造函数
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2024-11-7
         */
        explicit VAOneXMLAdaptorNodes()= default;

        /**
         * @brief   析构函数
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2024-11-7
         */
        ~VAOneXMLAdaptorNodes() = default;

        /**
         * @brief   适配器读数据
         * @return  true 读写成功 false 读取失败
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2024-11-7
         */
        bool adaptR() override;

        /**
         * @brief   适配器写数据
         * @return  true 写入成功 false 写入失败
         * @author  lixiaolong (lixiaolong@diso.cn)
         * @date    2024-11-7
         */
        bool adaptW() override;

    private:

    };

    Register2FITKIOAdaptorFactory(VAOneXML, Acoustics::FITKAcousticsDiscNodeList, VAOneXMLAdaptorNodes)
}

#endif // VAONEXMLADAPTORNODES_H
